package com.lollipop.programming;

import lombok.extern.slf4j.Slf4j;

/**
 * @Author Lollipop
 * @Date 2025/4/7 10:27
 * @Description 字符串反转-编写一个函数，反转字符串（例如输入 hello，输出 olleh）
 */
@Slf4j
public class ReverseStr {
    public static void main(String[] args) {
        String str = "hello";
        log.info("自定义方法反转：{}", reverseStr(str));
        log.info("JDK工具反转：{}", new StringBuilder(str).reverse().toString());
    }

    private static String reverseStr(String str) {
        char[] chars = str.toCharArray();
        // 只需要遍历一半的字符串，因为交换是双向的
        for (int i = 0; i < chars.length / 2; i++) {
            char temp = chars[i];
            chars[i] = chars[chars.length - 1 - i];
            chars[chars.length - 1 - i] = temp;
        }
        return new String(chars);
    }
}
